<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of CustosVO
 *
 * @author thales
 */
class CustosVO {
    private $id;
    private $valor;
    private $data;
    private $tipoCustoId;
    
    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        if ( !is_numeric($id) && $id < 1 ) {
            throw new Exception('O campo id deve ser do tipo inteiro e maior que zero!' . __METHOD__ );
        }
        $this->id = $id;
    }

    public function getValor() {
        return $this->valor;
    }

    public function setValor($valor) {
        if ( !is_float($valor) ) {
            throw new UserException('O campo valor deve ser preenchido da seguinte forma: 1,00!' );
        }
        $this->valor = $valor;
    }

    public function getData() {
        return $this->data;
    }

    public function setData($data) {
        if ( !preg_match(';^(0[1-9]|[1,2][0-9]|3[0,1])/(0[1-9]|1[0,1,2])/\d{4}$;', $data) &&
             !preg_match(';^(0[1-9]|[1,2][0-9]|3[0,1])/(0[1-9]|1[0,1,2])/\d{4} ([0,1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$;', $data) &&
             !preg_match(';^\d{4}-(0[1-9]|1[0,1,2])-(0[1-9]|[1,2][0-9]|3[0,1]) ([0,1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$;', $data)) {
             throw new UserException('Preencha a data corretamente! formato: 25/01/2012');
        }
        $this->data = $data;
    }

    public function getTipoCustoId() {
        return $this->tipoCustoId;
    }

    public function setTipoCustoId($tipoCustoId) {
        if ( !is_numeric($tipoCustoId) && $tipoCustoId < 1 ) {
            throw new Exception('O campo tipoCustoId deve ser do tipo inteiro e maior que zero!' . __METHOD__ );
        }
        $this->tipoCustoId = $tipoCustoId;
    }


}

?>
